-- 1. 先删除表（如果存在）
DROP TABLE IF EXISTS "user";
DROP TABLE IF EXISTS food;

-- 2. 创建触发器函数
CREATE
OR
REPLACE FUNCTION update_timestamp()
RETURNS TRIGGER AS $$
BEGIN NEW.update_time = CURRENT_TIMESTAMP;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;

-- 3. 创建用户表
CREATE TABLE "user"
(
    id BIGSERIAL PRIMARY KEY,
    username VARCHAR(50)  NOT NULL,
    password VARCHAR(100) NOT NULL,
    CONSTRAINT username_unique UNIQUE (username)
);

-- 4. 创建食品表
CREATE TABLE food
(
    id BIGSERIAL PRIMARY KEY,
    name   VARCHAR(100)   NOT NULL,
    price  NUMERIC(10, 2) NOT NULL,
    review TEXT,
    create_time TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
    update_time TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
);

-- 5. 创建触发器
CREATE TRIGGER update_food_timestamp
    BEFORE UPDATE
    ON food
    FOR EACH ROW
    EXECUTE FUNCTION update_timestamp();

-- 6. 插入用户数据
INSERT INTO "user" (username, password)
VALUES ('admin', 'admin123'),
       ('user1', 'password1'),
       ('user2', 'password2'),
       ('503', '4503');

-- 7. 插入食品数据
INSERT INTO food (name, price, review)
VALUES ('苹果', 5.50, '新鲜多汁，产自山东烟台，甜度适中'),
       ('香蕉', 3.20, '菲律宾进口香蕉，口感软糯香甜'),
       ('牛奶', 8.00, '纯牛奶，无添加，蛋白质含量3.2g/100ml'),
       ('面包', 6.50, '全麦面包，低糖低脂，早餐优选'),
       ('鸡蛋', 0.80, '农家散养土鸡蛋，营养丰富'),
       ('牛肉', 45.00, '澳洲进口牛排，肉质鲜嫩'),
       ('三文鱼', 68.00, '挪威进口，富含Omega-3'),
       ('西兰花', 4.50, '有机种植，新鲜采摘'),
       ('大米', 3.20, '东北五常大米，米香浓郁'),
       ('矿泉水', 2.00, '天然矿泉水，PH值7.3±0.5');
